// components/auth/auth.js
Component({
  data: {
    isLogin: false,
  },
  lifetimes: {
    attached() {
      // 1. 根据全局token判断是否登录
      const isLogin = !!getApp().token
      this.setData({
        isLogin,
      })
      // 2.如果没有登录, 则拦截去登录页
      if (!isLogin) {
        // 2.0 获取当前页面的路径
        // 2.0.1 获取页面栈
        const pageStack = getCurrentPages()
        // 2.0.2 取出当前页面对象
        const currentPage = pageStack[pageStack.length - 1]
        // 2.0.3 取出当前页面对象的路径
        const redirectURL = currentPage.route

        // token都失效了, 页面中的生命周期钩子函数就没有必要去执行了
        //-----------重写当前页面的onLoad和onShow方法-------------
        currentPage.onLoad = () => {}
        currentPage.onShow = () => {}
        //-----------重写当前页面的onLoad和onShow方法-------------

        // 2.1 拦截去登录页
        wx.redirectTo({
          url: `/pages/login/index?redirectURL=/${redirectURL}`,
        })
      }
    },
  },
})
